home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FM Towns: Free Software Collection 4
/
FM Towns Free Software Collection 4 - Disc 1.iso
/
pao
/
towns
/
paolib
/
key.h
< prev
next >
Wrap
Text File
|
1991-10-18
|
3KB
|
103 lines
/* << High C V1.4 & 386ASM V2.0 >> ********************************************
**
** キーボード インターフェース ルーチン 用 ヘッダ
**
** 1991.03.22 : CREATE
** 1991.03.22 : FINISH
**
** < History >
** 1991.03.22 : CREATE
** 1991.04.28 : 清書
**
** < note > : TABS = 4
**
** Programmed by Y.Hirata ( Nifty ID : NAB03321 )
**
******************************************************************************/
#define KEY_WAIT 20000 /* KEY wait count : 200ms */
#define KEY_REPEAT 2000 /* KEY repeat : 20ms */
#ifndef _KYBREAD_DEFINED
struct _ENCODE {
unsigned char shift ; /* LOW */
unsigned char keyadr ; /* HIGH */
} ;
struct _BYTE {
unsigned char l ; /* LOW (Code) */
unsigned char h ; /* HIGH(Flag) */
} ;
union _MOJI {
struct _BYTE hl ;
unsigned short x ;
} ;
#define _KYBREAD_DEFINED
#endif
enum Values_for_keyadrs {
KEY_DMY00, KEY_ESC, KEY_1, KEY_2, /* 00 - 03 */
KEY_3, KEY_4, KEY_5, KEY_6, /* 04 - 07 */
KEY_7, KEY_8, KEY_9, KEY_0, /* 08 - 0B */
KEY_SUB, KEY_TOPBER, KEY_OR, KEY_BACK, /* 0C - 0F */
KEY_TAB, KEY_Q, KEY_W, KEY_E, /* 10 - 13 */
KEY_R, KEY_T, KEY_Y, KEY_U, /* 14 - 17 */
KEY_I, KEY_O, KEY_P, KEY_DMY1B, /* 18 - 1B */
KEY_LKAKKO, KEY_CR, KEY_A, KEY_S, /* 1C - 1F */
KEY_D, KEY_F, KEY_G, KEY_H, /* 20 - 23 */
KEY_J, KEY_K, KEY_L, KEY_SEMICOLON, /* 24 - 27 */
KEY_COLON, KEY_RKAKKO, KEY_Z, KEY_X, /* 28 - 2B */
KEY_C, KEY_V, KEY_B, KEY_N, /* 2C - 2F */
KEY_M, KEY_LT, KEY_GT, KEY_QUEST, /* 30 - 33 */
KEY_UNDERBER, KEY_SPACE, TKEY_ASTER, TKEY_SLASH, /* 34 - 37 */
TKEY_ADD, TKEY_SUB, TKEY_7, TKEY_8, /* 38 - 3B */
TKEY_9, TKEY_EQU, TKEY_4, TKEY_5, /* 3A - 3F */
TKEY_6, KEY_DMY41, TKEY_1, TKEY_2, /* 40 - 43 */
TKEY_3, TKEY_CR, TKEY_0, TKEY_PIRIOD, /* 44 - 47 */
KEY_INS, KEY_DMY49, TKEY_000, KEY_DEL, /* 48 - 4B */
KEY_DMY4C, KEY_UP, KEY_HOME, KEY_LEFT, /* 4C - 4F */
KEY_DOWN, KEY_RIGHT, KEY_CTRL, KEY_SHIFT, /* 50 - 53 */
KEY_DMY54, KEY_DMY55, KEY_DMY56, KEY_DMY57, /* 54 - 57 */
KEY_DMY58, KEY_DIC, KEY_DMY5A, KEY_PF12, /* 58 - 5B */
KEY_DMY5C, KEY_PF1, KEY_PF2, KEY_PF3, /* 5C - 5F */
KEY_PF4, KEY_PF5, KEY_PF6, KEY_PF7, /* 60 - 63 */
KEY_PF8, KEY_PF9, KEY_PF10, KEY_DMY67, /* 64 - 67 */
KEY_DMY68, KEY_PF11, KEY_ALP, KEY_DIC_SER, /* 68 - 6B */
KEY_DIC_DEL,KEY_DIC_ADD,KEY_BEFORE, KEY_alp, /* 6C - 6F */
KEY_NEXT, KEY_HALF, KEY_UNDO, KEY_EXEC, /* 70 - 73 */
KEY_PF13, KEY_PF14, KEY_PF15, KEY_PF16, /* 74 - 77 */
KEY_PF17, KEY_PF18, KEY_PF19, KEY_PF20, /* 78 - 7B */
KEY_BREAK, KEY_COPY, KEY_DMY7E, KEY_DMY7F /* 7C - 7F */
} ;
#define KCODE_ESC 0x1B
#define KCODE_HOME 0x0B
#define KCODE_INS 0x50 /* ESC+○ */
#define KCODE_DEL 0x56 /* ESC+○ */
#define KCODE_UP 0x1E
#define KCODE_LEFT 0x1D
#define KCODE_DOWN 0x1F
#define KCODE_RIGHT 0x1C
#define KCODE_UNDEL 0x18
#define KCODE_BS 0x08
#define KCODE_LF 0x0A
#define KCODE_CR 0x0D
#define KCODE_BEEP 0x07
#define KCODE_CLS 0x0C
/*----------------------------- ↓ コメント ↓ ----------------------------*/
/* FMRシリーズ */
#if 0
^G (0x07) : BEEP
^H (0x08) : BS(DEL)
^K (0x0b) : HOME
^L (0x0c) : CLS
^T (0x14) : カーソルより右を消去
^V (0x16) : CLS or 前行
^W (0x17) : 次行
^X (0x18) : 取消
ESC+0x56 : 削除
ESC+0x50 : 挿入
#endif